package com.zp.self.module.level_4_算法练习.数学.位运算;

/**
 * @author By ZengPeng
 */
public class 力扣_504_七进制数 {
    //测试
    public static void main(String[] args) {

        System.out.println(new 力扣_504_七进制数().convertToBase7(100));
        System.out.println(new 力扣_504_七进制数().convertToBase7(-7));
        System.out.println(new 力扣_504_七进制数().convertToBase7(0));
        System.out.println(new 力扣_504_七进制数().convertToBase7(-1));
    }

    /**
    题目：给定一个整数 num，将其转化为 7 进制，并以字符串形式输出。

     示例 1:
     输入: num = 100
     输出: "202"

     示例 2:
     输入: num = -7
     输出: "-10"

    分析：【P ♥】
       1. 除以7取余  字符串添加

    边界值 & 注意点：
       1. 0
     **/
    public String convertToBase7(int num) {
        if(num==0) return "0";
        int n=Math.abs(num);
        StringBuilder sb = new StringBuilder();
        while (n!=0){
            sb.append(n%7);
            n=n/7;
        }
        return  num<0?"-"+sb.reverse().toString() : sb.reverse().toString();
    }
}
